package com.misboot.document.mapper;

import cn.hutool.core.date.DateTime;
import com.misboot.document.model.DfsFile;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 *
 *
 * @Author zhaoxiace
 * @Email zhaoxiace@zuoyo.cn
 * @Date 2019-02-19 14:20:45
 */
public interface DfsFileMapper extends tk.mybatis.mapper.common.Mapper<DfsFile> {

    //获取分页集
    List<DfsFile> getPageSet(@Param("filterSort") String filterSort,@Param("fileName")String fileName,@Param("puuid") String puuid);

    String getDataCountByPuuid(@Param("puuid") String puuid);

    List<DfsFile> getPageSetUuids(@Param("filterSort") String filterSort, @Param("uuids") String uuids);

    List<DfsFile> getDfsFileList(@Param("filterSort") String filterSort);

    int executeSave(DfsFile var1);

    int executeSave(Map<String, Object> var1);

    int executeUpdate(DfsFile var1);

    int executeUpdate(Map<String, Object> var1);

    int executeDelete(Object var1);

    int executeDelete(Map<String, Object> var1);

    int executeDeleteBatch(Object[] var1);

    int executeDeleteByName(@Param("fileName") String fileName);

    int deleteDfsFiles(@Param("puuid")String[] puuid);

    DfsFile queryObject(Object var1);

    List<DfsFile> queryList(Map<String, Object> var1);

    List<DfsFile> queryList(Object var1);

    int queryTotal(Map<String, Object> var1);

    int queryTotal();

    List<DfsFile> getMaxVersionByFileName(@Param("originalFilename") String originalFilename);

    //根据关联uuid查询附件uuid
    List<String> getAccessorylByOaRelevanceUuid(@Param("oaRelevanceUuid") String oaRelevanceUuid);

    List<DfsFile> getOaPageSet(@Param("filterSort") String filterSort, @Param("uuids") List<String> uuids);

    String getFileNameByUuid(@Param("uuid") String uuid);

    List<DfsFile> getDfsFileByPuuids(@Param("puuid")String[] puuid);

    String selectCopyFileUrlByBusinessUuid(@Param("businessUuid")String businessUuid);

    Integer updateCopyFileUrlByBusinessUuid(@Param("businessUuid")String businessUuid, @Param("mainBody")String mainBody, @Param("modifier")String modifier, @Param("modifierId")String modifierId, @Param("modifyTime")DateTime modifyTime);
}
